' Polygons_intro.bas
#COMPILE EXE
#DIM ALL
#DEBUG ERROR ON
'
#TOOLS OFF
'
' include the common display library
#INCLUDE "win32api.inc"
#INCLUDE "..\Libraries\CommonDisplay.inc"
'
TYPE PolyPoint
x AS SINGLE
y AS SINGLE
END TYPE
'
TYPE PolyArray
count AS LONG
xy(1 TO 5) AS PolyPoint
END TYPE
'
FUNCTION PBMAIN () AS LONG
' the main PB function that is the first to be executed
funPrepOutput("Polygons",0,0,40,120)
'
funLog("Polygons")
'
LOCAL hWin AS DWORD
'
GRAPHIC WINDOW "Polygons", 300,300,680,580 TO hWin
GRAPHIC ATTACH hWin,0 , REDRAW
'
funDrawPolygon()
'
funWait()
'
END FUNCTION
'
FUNCTION funDrawPolygon() AS LONG
' draw a polygon on the graphics page
LOCAL udtPolygon AS PolyArray
LOCAL lngXStart, lngYStart, lngSize AS LONG
'
lngXStart = 250
lngYStart = 50
lngSize = 125
'
PREFIX "udtPolygon."
count = 5
xy(1).x = lngXStart
xy(1).y = lngYStart
xy(2).x = lngXStart + lngSize
xy(2).y = lngYStart
xy(3).x = lngXStart + lngSize
xy(3).y = lngYStart + lngSize
xy(4).x = lngXStart
xy(4).y = lngYStart + lngSize
xy(5).x = lngXStart - (lngSize\2)
xy(5).y = lngYStart + (lngSize\2)
END PREFIX
'
GRAPHIC POLYGON udtPolygon, %BLACK, %RGB_DEEPSKYBLUE, 0
'
lngXStart = 265
lngYStart = 65
lngSize = 100
'
PREFIX "udtPolygon."
count = 5
xy(1).x = lngXStart
xy(1).y = lngYStart
xy(2).x = lngXStart + lngSize
xy(2).y = lngYStart
xy(3).x = lngXStart + lngSize
xy(3).y = lngYStart + lngSize
xy(4).x = lngXStart
xy(4).y = lngYStart + lngSize
xy(5).x = lngXStart - (lngSize\2)
xy(5).y = lngYStart + (lngSize\2)
END PREFIX
GRAPHIC POLYGON udtPolygon, %BLACK, %RED, 0
GRAPHIC REDRAW
'
END FUNCTION
'